﻿using DevExpress.Xpo.DB;
using HalconDotNet;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HTHMachineVision
{
    /// <summary>
    /// 机器人坐标信息
    /// </summary>
    [Serializable]
    public class RobotPoint
    {
        /// <summary>
        /// 机器人起点X
        /// </summary>
        public double RobotStartX = 0.00;

        /// <summary>
        /// 机器人起点Y
        /// </summary>
        public double RobotStartY = 0.00;

        /// <summary>
        /// 机器人起点角度
        /// </summary>
        public double RobotStartR = 0.00;

        /// <summary>
        /// 机器人移动间隔X
        /// </summary>
        public double RobotIntervalX = 0.00;

        /// <summary>
        /// 机器人移动间隔Y
        /// </summary>
        public double RobotIntervalY = 0.00;

        /// <summary>
        /// 机器人移动间隔角度
        /// </summary>
        public double RobotIntervalR = 0.00;

        /// <summary>
        /// 基准角度
        /// </summary>
        public double BaseAngle = 0.0;

        /// <summary>
        /// 标定的标志位
        /// </summary>
        public bool isCalibDone = false;

        /// <summary>
        /// 模板的X
        /// </summary>
        public double Template_Row = 0;
        /// <summary>
        /// 模板的Y
        /// </summary>
        public double Template_Col = 0;
        /// <summary>
        /// 模板的角度
        /// </summary>
        public double Template_PHI = 0;

        /// <summary>
        /// 启用旋转中心
        /// </summary>
        public bool IsUse_Rotate = false;

        /// <summary>
        /// 旋转中心X
        /// </summary>
        public double RotateCenterX = 0;

        /// <summary>
        /// 旋转中心Y
        /// </summary>
        public double RotateCenterY = 0;

        /// <summary>
        /// 矩阵信息
        /// </summary>
        public HHomMat2D Template_HomMat2D = new HHomMat2D();

        /// <summary>
        /// 九点标定数据
        /// </summary>
        public BindingList<CalibrationData> CalibrationList = new BindingList<CalibrationData>();

        /// <summary>
        /// 旋转中心标定数据
        /// </summary>
        public BindingList<CalibrationData> RotateList = new BindingList<CalibrationData>();

        
    }
}
